Calendar applications are software applications comprising an electronic calendar. In addition to providing a calendar functionality, calendar applications may assist in managing events and dates, may comprise address books and integrated e-mail clients. They assist in organizing meetings by providing a meeting request functionality for inviting multiple persons to meetings and telephone conferences. Microsoft Outlook, for example, provides the user with means to invite one or more potential participants to join a meeting via a meeting request e-mail sent to the e-mail addresses of the invited persons. The user sending the meeting request e-mails is in the following referred to as the organizer of the meeting.
A core limitation of current calendar applications is the fact that they are decoupled from the events of the real world they are supposed to help organizing. If an event or an activity other than a meeting event, e.g. a trip event, has to be postponed or modified, these changes usually have to be entered in the calendar application manually. The multitude of manual steps which have to be exercised in order to synchronize the events in the electronic calendar with the events in the real world costs considerable time and effort and may lead to errors. In addition, many tasks have to be manually exercised repeatedly, e.g. the booking of train tickets, the booking of a table in a restaurant or the search for trip accompanies with the help of a trip sharing service. In particular for uniformly executed, repeated tasks, the automated execution of the corresponding services and an automated synchronization of the service with the calendar application would highly be appreciated by many users of calendar applications.
In the following, the term ‘event’ being stored in, written to or read from an electronic calendar of a calendar application refers to data objects representing an event in the real world. The data object comprises data being adapted to specify an event, for example, but not limited to, starting time, ending time, location or the subject. The data object can be manipulated by the commands of a programming language.
As the calendar applications currently used are not able to communicate with services related to trip events and business appointments automatically, the user currently fulfils the function of a human interface between the calendar application and the services: the user has to remember multiple passwords, log into multiple services in order to book flights, order taxies or buy train tickets. While the user exercises a task, e.g. buys a train ticket, he is notified about the actual departure and arrival time of the chosen connection. This information in the next step has to be entered by the user in the electronic calendar manually.
The tasks mentioned in the previous examples commonly and repeatedly occur in business as well as private life but currently no adequate solution exists to execute them automatically, thereby saving working time, preventing the introduction of errors and ensuring that the electronic calendar is up-to-date, synchronized with the real world and free of inconsistencies.